package com.example.demo.config;

import com.example.demo.common.ResultAjax;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

@ControllerAdvice
@ResponseBody  //返回的是数据而不是页面
public class ExceptionAdvice {

    // 处理空指针异常
    @ExceptionHandler(NullPointerException.class)
    public ResultAjax doNullPointerException() {
        ResultAjax resultAjax = new ResultAjax();
        resultAjax.setCode(-1);
        resultAjax.setData("空指针异常");
        resultAjax.setData(null);
        return resultAjax;
    }

    // 处理异常 --- 如果没有找到具体的异常种类,那么就会执行下面的这个异常处理方法
    @ExceptionHandler(Exception.class)
    public ResultAjax doException(Exception exception) {
        ResultAjax resultAjax = new ResultAjax();
        resultAjax.setCode(-1);
        resultAjax.setMsg("异常" + exception.getMessage());
        resultAjax.setData(null);
        return resultAjax;
    }

}
